﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace Oroboros.Save_Data
{
    public class HealthSaveData : INotifyPropertyChanged
    {
        private int _BonusHead;
        private int _BonusLeftArm;
        private int _BonusLegs;
        private int _BonusRightArm;
        private int _BonusTorso;
        private int _BonusToughness;
        private int _Head;
        private int _LeftArm;
        private int _Legs;
        private int _RightArm;
        private int _Torso;
        private int _Toughness;

        public int BonusHead { get { return _BonusHead; } set { Changed("BonusHead"); _BonusHead = value; } }
        public int BonusLeftArm { get { return _BonusLeftArm; } set { Changed("BonusLeftArm"); _BonusLeftArm = value; } }
        public int BonusLegs { get { return _BonusLegs; } set { Changed("BonusLegs"); _BonusLegs = value; } }
        public int BonusRightArm { get { return _BonusRightArm; } set { Changed("BonusRightArm"); _BonusRightArm = value; } }
        public int BonusTorso { get { return _BonusTorso; } set { Changed("BonusTorso"); _BonusTorso = value; } }
        public int BonusToughness { get { return _BonusToughness; } set { Changed("BonusToughness"); _BonusToughness = value; } }
        public int Head { get { return _Head; } set { Changed("Head"); _Head = value; } }
        public int LeftArm { get { return _LeftArm; } set { Changed("LeftArm"); _LeftArm = value; } }
        public int Legs { get { return _Legs; } set { Changed("Legs"); _Legs = value; } }
        public int RightArm { get { return _RightArm; } set { Changed("RightArm"); _RightArm = value; } }
        public int Torso { get { return _Torso; } set { Changed("Torso"); _Torso = value; } }
        public int Toughness { get { return _Toughness; } set { Changed("Toughness"); _Toughness = value; } }

        public event PropertyChangedEventHandler PropertyChanged;
        public void Changed(string n)
        {
            if (PropertyChanged == null) return;
            if (!string.IsNullOrEmpty(n))
                PropertyChanged(this, new PropertyChangedEventArgs(n));
        }
    }
}
